#if !defined(AFX_DLGMAPGUDIE_H__E591A3CF_4FC5_414D_8712_1BCB34F470EF__INCLUDED_)
#define AFX_DLGMAPGUDIE_H__E591A3CF_4FC5_414D_8712_1BCB34F470EF__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DlgMapGudie.h : header file
//

/////////////////////////////////////////////////////////////////////////////
// CDlgMapGuide dialog

class CDlgMapGuide : public CDialog
{
private:
	BOOL	m_bEmpty		;
	BOOL    m_bShow			;
	HDC		m_hMemDC		;
  	CRect	m_ClipRect		;
	CRect	m_ClientRect	;
	HBITMAP m_hBitmap		;
	HBITMAP m_hOldBitmap	;
	void	Draw(HDC hDC);
private:
	int     m_nMapID;
 	HANDLE	m_hDraw ;
	BOOL	m_bCancedPt	;
	BOOL	m_bEnableMove ;
	CPoint	m_MovePt;
	CPoint	m_PrevPt;
	BOOL    m_bMoved;
	int		m_nViewWidth	;
	int		m_nViewHeight	;
	int     m_nMaxWidth		;
	int     m_nMaxHeight	;

	void	CopyLayerUnit(int nMapID,INT64	nLinkMapLayer);
public:
	void	CreateDrawMap();
	void	ClearMap(BOOL bShowEvent);
 	void	FillMap(int nMapID,BOOL bShowEvent);
	void	ReCompute(int nSysPos);
	void	ResetAxis(int nSysPos);
 	void	DeleteUnit(int* pUnitID,int nCount);
  	void	CopyUnit(int nMapID,int nSelCount,int *pSelID);
	void	Redraw();
	void	FullMap(int nRunState,double dbDynamicEddyAngle,BOOL bShowEvent);
	void	MouseToPt(double dbX,double dbY);

	CDlgMapGuide(CWnd* pParent = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(CDlgMapGuide)
	enum { IDD = IDD_Dlg_MapGuide };
		// NOTE: the ClassWizard will add data members here
	//}}AFX_DATA


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CDlgMapGuide)
	public:
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CDlgMapGuide)
	virtual BOOL OnInitDialog();
	afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
	afx_msg void OnMouseMove(UINT nFlags, CPoint point);
	afx_msg void OnKillFocus(CWnd* pNewWnd);
	afx_msg void OnPaint();
	afx_msg BOOL OnEraseBkgnd(CDC* pDC);
	afx_msg void OnDestroy();
	afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
public:
	afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_DLGMAPGUDIE_H__E591A3CF_4FC5_414D_8712_1BCB34F470EF__INCLUDED_)
